package com.sleet.yuemiao.pojo;

import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import java.io.*;

/**
 * @program: bigshark
 * @ClassName PageDto
 * @description:
 * @author: Liyongxing
 * @create: 2021-11-23 15:14
 **/
@Data
@Accessors(chain = true)
//public class PageDto implements Cloneable{
public class PageDto implements Serializable,Cloneable{

    private TestDto testDto;
    private Integer id;
    /**
     * 名称
     */
    @NotEmpty(message = "页面名称不能为空")
    private String pageName;
    /**
     * H5  WeChat
     */
    @NotEmpty(message = "页面类型不能为空")
    private String pageType;
    /**
     * 使用场景
     */
    @NotEmpty(message = "使用不能为空")
    private String usageScenario;
    /**
     * 页面标识UUID
     */
    private String pageFlag;
    /**
     * 上下架状态 1-下架，0-上架
     */
    private String avaFlag;
    /**
     * 页面是否弹出广告0：弹出；1：不弹出
     */
    private String advertsFlag;
    /**
     * 页面是否弹出广告0：每天一次；1：每次访问
     */
    private String advertsTime;
    /**
     * 广告图片地址
     */
    private String advertsUrl;
    /**
     * 广告链接地址
     */
    private Integer advertsLinkId;

//    @Override
//    public Object clone() throws CloneNotSupportedException {
//        PageDto p = (PageDto)super.clone();
//        p.testDto  = (TestDto)testDto.clone();
//        return p;
//
//    }
    public Object deepClone() throws Exception{
        // 序列化
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(bos);

        oos.writeObject(this);

        // 反序列化
        ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
        ObjectInputStream ois = new ObjectInputStream(bis);

        return ois.readObject();
    }

}
